package org.NooLab.openNLP.bst;

public class TreeItem {
	int      index = -1;  // index in the tree vector
	
	int      left = -1,   // the two positions which are enclosing the nested items
			 right = -1;  // it starts with left == right
	                       
	int      level ;      // the level in the tree
	
	int      ruleID ;     // for all leafs to be integrated, the ruleID points to the position in the table of PoS tags
	double   bindingValue;// the bindingValue which has been applied
	
	TreeItem rootiger,    // neighbors closer to the root 
	         leafigerL,   // neighbors closer to the leafs, we have two parents
	         leafigerR ;  
	
	TreeItem leftNeighborItem,
			 rightNeighborItem ;
	
	int      taken = -1;
	String   branches ;   // just for debug 
	
	public TreeItem(){
		
	}

	// ------------------------------------------------------------------------
	
	public int getIndex() {
		return index;
	}

	public void setIndex(int index) {
		this.index = index;
	}

	public int getLeft() {
		return left;
	}

	public void setLeft(int left) {
		this.left = left;
	}

	public int getRight() {
		return right;
	}

	public void setRight(int right) {
		this.right = right;
	}

	public int getLevel() {
		return level;
	}

	public void setLevel(int level) {
		this.level = level;
	}

	public int getRuleID() {
		return ruleID;
	}

	public void setRuleID(int ruleID) {
		this.ruleID = ruleID;
	}

	public double getBindingValue() {
		return bindingValue;
	}

	public void setBindingValue(double bindingValue) {
		this.bindingValue = bindingValue;
	}

	 

	 
 

	public TreeItem getLeftNeighborItem() {
		return leftNeighborItem;
	}

	public void setLeftNeighborItem(TreeItem leftNeighborItem) {
		this.leftNeighborItem = leftNeighborItem;
	}

	public TreeItem getRightNeighborItem() {
		return rightNeighborItem;
	}

	public void setRightNeighborItem(TreeItem rightNeighborItem) {
		this.rightNeighborItem = rightNeighborItem;
	}

	public TreeItem getRootiger() {
		return rootiger;
	}

	public void setRootiger(TreeItem rootiger) {
		this.rootiger = rootiger;
	}

	public TreeItem getLeafigerL() {
		return leafigerL;
	}

	public void setLeafigerL(TreeItem leafigerL) {
		this.leafigerL = leafigerL;
	}

	public TreeItem getLeafigerR() {
		return leafigerR;
	}

	public void setLeafigerR(TreeItem leafigerR) {
		this.leafigerR = leafigerR;
	}

	public String getBranches() {
		return branches;
	}

	public void setBranches(String branches) {
		this.branches = branches;
	}

	public int getTaken() {
		return taken;
	}

	public void setTaken(int taken) {
		this.taken = taken;
	}
	
	
	
	
}
